table.table {
  width: 100%; border-collapse: separate; border-spacing: 0px
}
table.table thead.sticky {
  position: sticky; top: 0px; z-index: 30
}
table.table thead tr:first-of-type th,
table.table thead tr:first-of-type td {
  border-top: #e1e1e1 1px solid
}
table.table tbody:first-child tr:first-of-type th,
table.table tbody:first-child tr:first-of-type td {
  border-top: #e1e1e1 1px solid
}
table.table tbody:empty {
  display: none
}
table.table tbody:empty + tfoot {
  display: table-footer-group
}
table.table tfoot {
  display: none
}
table.table tfoot.sticky {
  position: sticky; bottom: 0px; z-index: 10
}
table.table tr th:last-child,
table.table tr td:last-child {
  border-right: #e1e1e1 1px solid
}
table.table th,
table.table td {
  padding: 10px; border-left: #e1e1e1 1px solid; border-bottom: #e1e1e1 1px solid
}
table.table th {
  text-align: left; background: #f6f6f6
}
table.table th[min-width='20'] {
  min-width: 20px
}
table.table th[min-width='40'] {
  min-width: 40px
}
table.table th[min-width='60'] {
  min-width: 60px
}
table.table th[min-width='80'] {
  min-width: 80px
}
table.table th[min-width='100'] {
  min-width: 100px
}
table.table th[min-width='120'] {
  min-width: 120px
}
table.table th[min-width='200'] {
  min-width: 200px
}
table.table th[min-width='300'] {
  min-width: 300px
}
table.table th[orderby] {
  position: relative
}
table.table th[orderby] span.asc,
table.table th[orderby] span.desc {
  width: 0px; height: 0px; border: #ccc 5px solid; position: absolute; right: 10px; cursor: pointer; transition: border-color .3s ease
}
table.table th[orderby] span.asc {
  top: 50%; margin-top: -6px; border-top: 0px; border-left-color: transparent; border-right-color: transparent
}
table.table th[orderby] span.asc:hover {
  border-bottom-color: #333
}
table.table th[orderby] span.desc {
  bottom: 50%; margin-bottom: -6px; border-bottom: 0px; border-left-color: transparent; border-right-color: transparent
}
table.table th[orderby] span.desc:hover {
  border-top-color: #333
}
table.table th[orderby=asc] span.asc {
  border-bottom-color: #000
}
table.table th[orderby=desc] span.desc {
  border-top-color: #000
}
table.table td {
  text-align: left; background: #fff
}
table.table td.multiline {
  line-height: 160%
}
table.table th.center,
table.table td.center {
  text-align: center
}
table.table th.right,
table.table td.right {
  text-align: right
}
table.table th.sticky,
table.table td.sticky {
  position: sticky; z-index: 10
}
table.table td[role=draghandle] {
  background-image: url(../svg/draghandle.svg); background-position: center center; background-repeat: no-repeat; background-size: 20px; cursor: move
}
table.table tbody tr:hover td,
table.table tbody tr.selected td,
table.table tbody tr.draging td {
  background-color: #f9f9f9
}
table.table tfoot td {
  color: #999999
}
table.table[pin-head=true] thead {
  box-shadow: 0px 2px 0px rgba(225, 225, 225, .6)
}
table.table[pin-left=true] th[fence=left],
table.table[pin-left=true] td[fence=left] {
  box-shadow: 2px 0px 0px rgba(225, 225, 225, .6)
}
table.table[pin-right=true] th[fence=right],
table.table[pin-right=true] td[fence=right] {
  box-shadow: -2px 0px 0px rgba(225, 225, 225, .6)
}
table.table[pin-foot=true] tfoot {
  box-shadow: 0px -2px 0px rgba(225, 225, 225, .6)
}
table.table.skinny {
  border: 0px !important
}
table.table.skinny th {
  background: #ffffff; padding: 10px 5px; border: 0px !important
}
table.table.skinny td {
  padding: 5px; border: 0px !important
}
table.table:has(tr.draging) {
  user-select: none
}